WEBTEACHER SOFTWARE, LLC, a California Limited Liability Company owns the copyright and intellectual property and documentation for its Webdata software program (hereafter collectively referred to as "Software"). The Software is protected by United States copyright and intellectual property laws and international copyright and intellectual property treaties, as well as other international property laws and treaties. The Software is licensed, not sold. This legal document is an agreement between you, the end user and WEBTEACHER SOFTWARE.
If you do not agree to the terms of
this agreement, promptly dispose of all downloaded materials, disks, documentation,
and packaging materials.
1. LICENSE GRANT.
a. Software Product. WEBTEACHER SOFTWARE grants you as an individual, a personal, nonexclusive license to install the Software on an unlimited number of computers provided you are the only individual using the software product. (For example, you can install the Software on a desktop computer at your place of business,on a web server of which you are the owner and administrator, and on a computer in your home. However, only you may use the Software installed on each of these three computers.) You may not grant others the right to use your license. You may install more than one copy of the software on a single web server, provided all copies support the same site. A site is defined as a unified collection of web pages which pertain to a single person, company, organization, topic, or project. Web professionals may not extend the license to more than one client per license. (For example, you may install 3 databases under a single license to list your products, phone numbers, and events. You may not install databases for others without paying additional registration fees).
If you are an entity, WEBTEACHER SOFTWARE grants you the right to designate one individual within the organization to have the right to use the Software in the manner described above. WEBTEACHER SOFTWARE recognizes that there are certain circumstances in which it would be commercially impractical to install the Software on a computer and permit multiple individuals to use it (e.g., install the Software on a computer in a law library or in a training facility and permit multiple individuals to use the Software over time). Using the Software in this manner is in violation of this license agreement. If you wish to use the software in this manner, please contact WEBTEACHER SOFTWARE at (510) 790-6451 to discuss. Depending on the circumstances, WEBTEACHER SOFTWARE, at its sole discretion, may provide you with a rider permitting this alternative use.
b. Software Transfer. You may permanently transfer all of your rights under this Agreement, provided you comply with the following conditions: (i) you retain no copies or prior versions, (ii) you transfer all of the Software including the media and printed materials, and (iii) the recipient agrees to the terms of this Agreement.
c. Electronic Documents. Solely with respect to the electronic documents included with the Software (e.g., the electronic version of the user guide), you may make an unlimited number of copies (either in hard copy or electronic form), provided that such copies shall be used only for internal purposes and are not republished or distributed to any third party.
2. COPYRIGHT.
WEBTEACHER SOFTWARE holds exclusive ownership of the Software and all intellectual property rights embodied therein, including copyrights and valuable trade secrets incorporated in the Software's design and coding methodology. The Software is protected by United States copyright laws and international treaty provisions. This Agreement provides you with only a limited use license, and does not grant you any intellectual property rights in the Software.
3. REVERSE ENGINEERING. You agree that you will not attempt to: (i) modify, revise, alter, copy, duplicate, replicate, sell, transfer, destroy or translate all or any portion of the Software; (ii) decompile, or disassemble all or any part of the Software, (iii) create derivative works based on all or any part of the Software; (iv) merge all or any part of the Software with another product; or (v) remove, tamper with or obscure any proprietary rights, notices, or labels on all or any part of the Software.
4. LIMITED WARRANTY; LIMITATION OF LIABILITY. IF YOU PURCHASED THE PRODUCT, WEBTEACHER SOFTWARE WARRANTS TO YOU THAT THE SOFTWARE SHALL PERFORM SUBSTANTIALLY IN ACCORDANCE WITH ACCOMPANYING DOCUMENTATION UNDER NORMAL USE FOR A PERIOD OF NINETY (90) DAYS FROM THE PURCHASE DATE; OTHERWISE, IF YOU RECEIVED THE PRODUCT FREE OF CHARGE FOR THE PURPOSE OF EVALUATING IT, WEBTEACHER SOFTWARE DOES NOT PROVIDE YOU WITH A WARRANTY OF ANY KIND, AND YOU ACCEPT THE PRODUCT "AS IS."
THE ENTIRE AND EXCLUSIVE LIABILITY AND REMEDY FOR BREACH OF THIS LIMITED WARRANTY SHALL BE, AT WEBTEACHER SOFTWARE'S OPTION, EITHER (I) RETURN OF THE PURCHASE PRICE OF THE SOFTWARE, IF THE PRODUCT WAS PURCHASED, OR (II) REPLACEMENT OF DEFECTIVE SOFTWARE AND/OR DOCUMENTATION PROVIDED THE SOFTWARE AND/OR DOCUMENTATION IS RETURNED TO WEBTEACHER SOFTWARE WITH PROOF OF PURCHASE. WEBTEACHER SOFTWARE AND ITS SUPPLIERS SPECIFICALLY DISCLAIM THE IMPLIED WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE.
THERE IS NO WARRANTY OR GUARANTEE THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED, ERROR-FREE, OR VIRUS-FREE, OR THAT THE SOFTWARE WILL MEET ANY PARTICULAR CRITERIA OF PERFORMANCE OR QUALITY EXCEPT AS EXPRESSLY PROVIDED IN THE LIMITED WARRANTY. NO ACTION FOR THE ABOVE LIMITED WARRANTY MAY BE COMMENCED AFTER ONE (1) YEAR FOLLOWING THE EXPIRATION DATE OF THE WARRANTY. IF IMPLIED WARRANTIES MAY NOT BE DISCLAIMED UNDER APPLICABLE LAW, THEN ANY IMPLIED WARRANTIES ARE LIMITED IN DURATION TO NINETY (90) DAYS FROM THE PURCHASE DATE.
IN NO EVENT SHALL WEBTEACHER SOFTWARE'S
LIABILITY FOR DAMAGES FOR ANY CAUSE WHATSOEVER, AND REGARDLESS OF THE FORM
OF ACTION, EXCEED THE AMOUNT OF THE PURCHASE PRICE PAID FOR THE SOFTWARE.
6. WARRANTY DISCLAIMER
(a) EXCEPT AS EXPRESSLY SET FORTH ABOVE, NO OTHER WARRANTIES ARE MADE WITH RESPECT TO THE PROGRAM. WEBTEACHER SOFTWARE EXPRESSLY DISCLAIMS ALL WARRANTIES NOT STATED HEREIN.
(b) WEBTEACHER SOFTWARE DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE PROGRAM WILL MEET LICENSEE'S REQUIREMENTS OR THAT THE OPERATION OF THE PROGRAM SHALL BE UNINTERRUPTED OR ERROR-FREE.
(c) LICENSEE ASSUMES RESPONSIBILITY FOR THE SELECTION OF THE PROGRAM TO ACHIEVE THE RESULTS INTENDED BY LICENSEE AND FOR THE INSTALLATION, USE, AND RESULTS OBTAINED FROM THE USE OF THE PROGRAM.
7. MISCELLANEOUS. (a) This agreement shall be interpreted according to the laws of the state of California and is binding on the parties hereto, their heirs, successors, and assigns. (b) If either party breaches this agreement and a lawsuit is brought thereon, the prevailing party shall receive as additional damages reasonable attorney's fees and costs. (c) The paragraph headings are for convenience only and do not limit, modify or interpret this agreement. (d) In this agreement when the text so indicates, the singular shall include the plural and vice-versa and the masculine, feminine and neuter genders shall also include the other genders. (e) If any provision of this agreement is found illegal, unenforceable or invalid, the remaining provisions shall nevertheless be carried into full force and effect. (f) This agreement represents the entire understanding of the parties; there are no other warranties or representations, whether written or oral, affecting this agreement. (g) This agreement cannot be modified, altered or changed in whole or in part unless by a writing signed by the affected parties. (h) Jurisdiction and venue for any legal dispute involving this Agreement shall be Oakland, California.
8. UNITED STATES GOVERNMENT USE. WEBTEACHER SOFTWARE represents that the Software and its documentation were developed at private expense and no part of same is in the public domain. The Software is Commercial Computer Software provided with RESTRICTED RIGHTS under the Federal Acquisition Regulations and agency supplements to them. Use, duplication, or disclosure by the U.S. Government is subject to the restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013 et. seq. or subparagraphs (c)(1) and (2) of the Commercial Computer Software Restricted Rights at DFAR 52.227-19, as applicable. Manufacturer is WEBTEACHER SOFTWARE, 39947 San Simeon Court. Fremont, California 94539.
9. Fraudulent or Unfulfilled Promise of Payment. WEBTEACHER SOFTWARE retains the right to remotely disable the Software, without further notice to you, in the event that false, misleading, deceptive or fraudulent information is presented at the time of payment, or if a stolen bank card or credit card issused, or if payment is not received in accordance with the terms and conditions of a promissory note or Purchase Order. You expressly consent to this remedy and expressly waive, relinquish and discharge any claims, losses or damages that might arise from such an exercise of rights.
10. LICENSEE ACKNOWLEDGES THAT HE OR SHE HAS READ THIS AGREEMENT, UNDERSTANDS IT,AND AGREES TO BE BOUND BY ITS TERMS AND CONDITIONS. LICENSEE FURTHER AGREES THAT IT IS THE COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT BETWEEN LICENSEE AND WEBTEACHER SOFTWARE AND THAT IT SUPERSEDES ANY PRIOR AGREEMENT, ORAL OR WRITTEN, AND ANY OTHER COMMUNICATION BETWEEN LICENSEE AND WEBTEACHER SOFTWARE RELATING TO THE SUBJECT MATTER OF THIS AGREEMENT.
Should you have any questions concerning this License Agreement or Limited Warranty, or if you desire to contact WEBTEACHER SOFTWARE for any reason, please submit all correspondence in writing to WEBTEACHER SOFTWARE 39947 San Simeon Court. Fremont, California 94539., or by e-mail through our Web site at www.webteacher.com.
WEBTEACHER SOFTWARE, the WEBTEACHER SOFTWARE logo, and Webteacher's Webdata are trademarks of WEBTEACHER SOFTWARE.
Copyright © 1999, WEBTEACHER SOFTWARE, LLC, a California Limited Liability Company Printed in the U.S.A.
Modifications in 2.4
2.4f - fixed date searching bug
2.4e - added pipe delimited import/export
versions 2.4a,b,c,d were all minor bug fixes.
Added sorting links to table headers
Very large databases now display condensed list of page number links
Improved searching mechanism, faster and with less memory
Integrates with the wtcart.pm (ePOWERcart) module for shopping cart.
Modifications in 2.36
Added sort by date created
Added searchlog
forced chdir to current directory
accepts "text", text*, *text, *text*.
admin can search on a specific member
alert after modify.
cgifunction=recordcount returns the number of records in database.
added "log out" feature
version appears on admin page
Dutch translation
Portuguese translation
Modifications in 2.35
2.35f - no longer possible to accidently enter remote registered
filename in a registered db.
2.35e - admin modify mail includes date created
2.35d - admin gets mail on modify as well as add
2.35 a,b,c - minor bug fixes
Admin can define a template for the member's maintenance page
Modifications in 2.34
Search criteria can be displayed at top of results
2.34a-e - Bug fix, $escape did not work in form if "do not replace"
was selected
Modifications in 2.33
(ver a,b,c,d are just bug fixes)
Search and Add forms now submit with Enter key in IE unless both
options are enabled.
.csv files now import with quoted text strings
Improved Spanish translation
Ability to restrict members to a single record.
Ability to restrict member searches to only their own records.
Ability to disable file locking for servers that cannot create a
writable directory.
$datecreated will display the date a record was created in a template.
$escape[#] will display data in hex-encoded form for linking to
other cgi scripts.
Option for admin to overwrite entire database while importing.
Restored ability to import from a file on your server if uploading
via CGI.pm module is not available.
Improved error message with helpful info if CGI.pm is missing.
Installer now creates a menu page as index.html.
$cgilocation is now derived so renaming the file is easier.
Improved admin, member, instantmember authentication.
Modifications in 2.32c
Restored server path as import option so now admin has a choice
of FTP or Browser upload.
Modifications in 2.32b
Fixed another bug with instantmember routine
Added option to replace all records during import
Modifications in 2.32a
Fixed bug with instantmember routine
Modifications in 2.32
Uploads can now be performed in the maintenance screen.
Import increases ID by .0001 instead of .000001 to fix duplicate
record ID bug.
Insert and Delete fields now modifies field sequences and template
numbers on preferences page.
Admin can choose whether to let the template substitute links and
images or do it manually in templates.
Modifications in 2.31g
Only txt, crv, and prn files may be uploaded with the import subroutine.
Modifications in 2.31f
fixed bug which chopped last character from field parameters in
member add
Modifications in 2.31e
Added ability to use specific field criteria from URL or custom
form in when "single text box" is selected.
Fixed bug which kept $id from appearing in form template.
Modifications in 2.31d
fixed bug which kept required fields checkboxes from workin in IE
Modifications in 2.31c
The installer looks for cgi-bin directory in every directory in
current path.
Modifications in 2.31b
more special characters such as / and () now work in searches without
escapes.
Modifications in 2.31a
Fixed a bug that occurred when multiple files were uploaded in the
same record.
Modifications in 2.31
Admin can now define required fields.
Blank records cannot be submitted.
File lock is placed in uploads directory during add, modify, and
delete subroutines so 2 simultanious requests will not damage the file.
Modifications in 2.3
Admin and Members can search records by date created. Date
created appears in admin and member search results.
File Uploading for adding pictures or files to records.
File Uploading for importing data.
Admin and member queries can be exported to browser as delimited
text file.
Admin and members can delete multiple files from search results
table with a 'delete' checkbox.
User search and add interface now can appear in English, French,
German, Spanish, or Italian.
Admin can define page color, background, text color, link color,
and visited link color.
Submit buttons and links at top and bottom of customize screen for
easier navigation.
Can user Add? Can user Search? These questions used to be asked
by the installer, now they are checkboxes on preferences screen.
Option to use a single search box for the entire record, similar
to a search engine's itnterface.
URL for "Return to Homepage" can be customized from Preferences
Page.
A custom Members page can be created by choosing SAVE-AS on the
default members page, and entering the URL in a box provided.
Option to let members Add to the Database and/or Search the entire
database.
Templates no longer use intelligent HTML. URLs still convert
automatically to links in the table,
but authors of a template may wish to use more
sophisticated HTML, and the automatic conversion
was getting in the way.
Modifications in 2.28c
A bug has been fixed which caused the searchpage filename not to
repopulate the input box on the 'customize pages' screen.
There is now a checkbox to hide the border on the search results
table
There is now a box to enter font size, face, and color information
for the default table.
Modifications in 2.28b
A bug has been fixed which caused the footer not to work with tables.
Modifications in 2.28a
The import routine now allows the administrator to assign a member
as the owner of the the imported data.
The name or URL of a custom search page can now be entered on the
customization page.
Administrators can now specify the title row color and 2 alternating
row colors for the default search results table.
Administrators can now define a footer for the search results page.
The Administration search screen may now be limited to only the
columns selected for the user search screen.
Sorting by 2 fields is now available.
There is a checkbox to use European dates dd/mm/yy instead of US
mm/dd/yy
It is now possible to allow visitors to create 'instant memberships'
in which they assign themselves a username and password, and proceed to
add records which they can later modify. A checkbox enables or disables
this routine.
Administrators can now specify which fields appear on the initial
search form
Modifications in 2.28
There is now a box on the 'customize pages' screen for the label
of the 'view' button (shows current record in form view).
There is now a box on the 'customize pages' screen to create your
own template for the search results.
There is now a box on the 'customize pages' screen to create your
own template for the form view, displayed when users click the 'view' button.
Modifications in 2.27e
To allow multiple databases on a site, if the installer detects
another database in the local directory, it will copy the registration
info from the other database.
Modifications in 2.27d
A bug has been fixed which prevented the view button from working
on IE4 for Macintosh
Modifications in 2.27c
A Perl 5 function was removed to allow Webdata to run under Perl
4 again
A bug has been fixed which prevented the 'Return to Administration
Page' link from working when no records were found.
Modifications in 2.27b
The cuseom search header was stripping any lines after a carraige
return. This has been fixed.
Modifications in 2.27a
An upgrade program has been included with this version. It only
works with version 2.26. To use, upload webdata.cgi and upgrade.pl to the
server. Telnet in and type:
perl upgrade.pl webdata_[dbname].cgi
A bug has been fixed which sometimes caused problems when members
logged in.
Users and administrators can go to any results page with numbered
links at the bottom of large search results.
Custom search pages that use the "multiple selections" option on
select lists will be received by the search engine as "first item or
second item".
Searches that return no results now display "No records found" instead
of a blank table.
Administrators can now add custom HTML to the default search form.
Administrators can now choose whether to display the search instructions
on the default search form.
Modifications in 2.26
A bug has been fixed which caused the boolean searches to fail sometimes.
A different sorting algorythm has been implemented to speed up the
sort process.
The Admin and Member search results now show only 20 results at
a time.
Modifications in 2.25
A bug has been fixed which sometimes caused the member ID to be
offset by one field.
Fields containing *.gif or *.jpg are automatically converted to
<IMG SRC="*.gif"> in user search results
Checkboxes now store the word "yes" instead of the Netscape default
of "on".
Redefine field button now retains old values in prompt boxes.
The installer now creates a unique ID for registration purposes.
Modifications in 2.24
A bug was fixed which caused links and URLs not to show on some
servers.
A bug was fixed which caused images and other HTML with quotes not
to work in the VIEW page.
Modifications in 2.23
A bug was fixed which caused add and search errors in fields who's
name contained special characters.
Modifications in 2.22
A bug was fixed which caused some member entries to lose the last
field.
Modifications in 2.21
A bug has been fixed which was causing errors in date searches.
The program now recognizes xx/xx/xx?? as a date, and automatically
converts both field values and search criteria to 4 digit years (year 2k
for years less than 20).
The "and" and "or" criteria now work in the admin searches.
A "view" button may now be displayed on each record to display the
record in a columnar form page.
Choose whether or not to use this feature on the "Customize
Report" page.
Modifications in 2.2
Fields now can be defined as text, checkbox, or selection list.
JavaScript has beed added to the modify fields page to assist in
creation of new fields.
e-mail (*@*.*) and URLs (http://*) are automatically converted to
links.
Modifications in 2.1
Administrators can now change the color, header text, field sequence,
and sort order of user search results table.
A Customize Reports button has been added to the Administration
page.
The reports page has a box for an HTML color or Hex Triplet (#RRGGBB)
The reports page has a large textarea for header code. This can
contain HTML tags including links and images.
Admins can click the available fields to choose the sequence of
columns in the report table. This also allows
users to omit fields which they would like to leave hidden.
Admins can select the field by which they would like to sort.
Customized User Search pages are no longer restricted by sequence,
they are driven by fieldname.
Default input boxes have been expanded to 60 characters.
A 'Delete Found Set' button has beed added to the Administration
Search Results, allowing the administrator to delete multiple records.
Modifications in 2.0
A bug has been fixed which prevented MSIE4 users from adding records.
The installer now asks whether visitors should be allowed to add
records.
The installer now asks whether visitors should be allowed to search
for records.
A bug has been fixed which caused user searches to sometimes be
added.
The default line in the data file is now visible so that it can
be deleted once data is added
The Admin can now create 'member' accounts in which members can
enter a unique password and add, modify, or delete only their own records.
The readme now includes instructions for remote installation without
telnet access.
If you have telnet access, simply upload "webdata.cgi" and "install.pl"
in ASCII mode to a new directory
under your homepage (a browsable directory, not cgi-bin). Then
telnet to that directory,
and type: perl install.pl
If you do not have telnet access, use your FTP program to create a directory
under your homepage named "uploads" and
give the uploads directory 777 permissions (everyone can read and write).
Then, browse to
http://www.abcdatabase.com/webdata/download
and complete the form. The program named "probe.pl" can be placed
in your cgi-bin to give you
path information if you need it. Unzip the resulting file and
follow the instructions in the new readme.html file.
DIRECTIONS FOR INSTALLATION WITH TELNET (recommended)
If you do not have telnet access, answer the questions in part 2 below,
then go to MANUAL INSTALLATION to use our FTP installer.
Part 1.
Create a directory under your homepage directory
called webdata. Upload the 2 files,
install.pl
webdata.cgi
into the webdata directory.
IMPORTANT: Be sure your FTP program is set to ASCII mode.
Part 2.
Before you run the installer program, you will need to complete this
worksheet. It will be easiest
to write on a printout of this page before running the installer.
There is an explanation of each question below the form.
The installer will prompt you for this information. If you
are unsure about any of this, you should contact your
system administrator.
If you think that your home directory is located at "/", you are
probably using a virtual host. To see the true paths
on your server, upload "probe.pl" to your cgi-bin, and browse to
it. Print out the results, and remove it (we don't
want the world to see our server paths). If you get a server
error, remove the first line and try again. Be sure to upload
in ASCII mode, set the permissions to 755 (read,write,execute) if
necessary.
[W]1. Choose a short name for this database.
2. CGI scripts are stored:
___ 1. only in the cgi-bin directory
___ 2. in any directory, so long as the filename ends with .cgi
[W]3. If you answered 1 above or you are running a Windows Server, what is the path to the cgi-bin? (TELNET users, the script will detect the cgi-bin for you).
4. What is the path to Perl 5? (TELNET users, the script will detect Perl5 for you). (FTP users, the probe.pl script will detect Perl5 for you).
[W]5. What would you like your password to be?
[W]6.
The ABSOLUTE PATH to the current directory is (path to webdata directory
on your server) ?
(TELNET users, the script will detect this) (FTP users, this is
where probe.pl is very helpful)
What is the URL to the current directory?
(start with http://)
[W]7. The
log files contain all of your data, fields, members, and preferences.
For security reasons, we recommend you store these files either
in the cgi-bin, or in a directory which is outside the
viewable web pages. A typical directory structure might look
like this:
|-----------|
| top level |
|___________|
/ \
/ \
|----------------| |---------------|
| all .html pages| |
logfiles |
| and other web | | (not
viewable |
| related stuff | |
via the web) |
|________________| |_______________|
Your current directory path is (path)
Enter the path to the directory you would like to use for the log
files.
If the directory you enter does not exist, the installer will try
to create it.
Press [ENTER] to use the current directory.
(TELNET users, if you chose to use a cgi-bin, this question is skipped
and log files are placed in the cgi-bin).
It is simple to add or remove field names after
you have entered them in, you just need a few to get started. Keep
the names short and simple.
FIELDS | ________________________ |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________ | |
________________________
.
|
Part 3.
Get to a command prompt in the Webdata directory and type
perl install.pl
Answer the questions using this worksheet.
When you are done, you can point your browser
to webdata/[dbname]_admin.html to begin adding
records. Where [dbname] is the name you chose in question #1.
You may wish to bookmark that page.
Create a link on your homepage to webdata/[dbname]_form.html
for your guests. This page allows readers to search (and add
to if you selected it) the database, but not modify it.
If you will allow members to modify their own records, members can
log in at webdata/[dbname]_members.html
You can also choose to allow new visitors to create their own memberships
at webdata/[dbname]_instantmember.html and then add records
to the database. Instant members can log in later at webdata/[dbname]_members.htmlto
modify or delete only their own listings.
You must have Perl installed on your server
to run Webdata or the installer. You can
download Perl for free from this site.
http://www.ActiveState.com/software/Perl_for_Win32.htm
NOTE: The IIS webserver takes some configuration
to execute Perl CGI scripts. INSTRUCTIONS
Double click on the winstall.pl icon.
A DOS window should appear with some text.
If you have difficulty, be sure the ".pl"
extension is associated with Perl. You can also
launch the winstall.pl program by opening
a DOS prompt, cd to the webdata directory,
and type 'perl winstall.pl' .
Answer the questions using this worksheet.
*****************************************************************************************************
You may change the names of the 2 .htm pages if you wish, but not the log files or the cgi.
In some cases, you will be required to use a special directory which
is not named cgi-bin. If you have been designated
a special directory other than cgi-bin for your cgi scripts, here is what
you should do.
#!/usr/bin/perl
#
print "Content-type: text/html\n\n";
print "<H1>Hello World</H1>";
find / -name cgi-bin -print |& grep -v deniedThis may take over 10 (or even 20) minutes to run, it is searching the entire server. The pipe character | is a vertical line, usually located on the right side of the keyboard above the [ENTER] key. It may appear as 2 lines above each other. It is frequently [SHIFT]+Backslash[\].[W]Windows users - you know where your file search tools are.
The installer will automatically detect Perl 5 if it is in any of the default locations. If it finds it, it will notify you that it found Perl 5, and skip to the next question.
From the command prompt, type which perl and press [ENTER].
Hopefully, the system returned a line similar to this:
/usr/bin/perl
or
/usr/local/bin/perl
Write down the result. This is the location of Perl on your system, and you will need it.
If the system did not return a result, try this:
Again, you are looking for a path similar to the ones described above. You may get several results, but only one should end with just perl and nothing else. Write down the result if you get one.
6. The ABSOLUTE
PATH to the current directory is (path to webdata directory on your server)
What is the URL to the current directory? (start
with http://)
[W] read this...
In other words, what would you type into the location box of a web browser to see this directory?
For example, if I had a domain named "myserver.com" and all of my
web pages were under the /user/myname/htdocs directory:
The installer would probably tell me that the absolute path to the
current directory is /user/myname/htdocs/webdata
and I would type: http://www.myserver.com/webdata into
the installer at this time.
NOTE: If you do not have telnet access and you will be using the FTP installation web page, you will need to create a folder in the same directory as the webdata html pages named uploads. Enter the absolute path (begins with a slash or drive letter) to the uploads directory in box 6a, enter the URL (begins with http://) to the uploads directory in box 6b.
7. The
log files contain all of your data, fields, members, and preferences.
For security reasons, we recommend you store these files in a
directory which is outside the
viewable web pages. A typical directory structure might
look like this:
|-----------|
| top level |
|___________|
/ \
/ \
|----------------| |---------------|
| all .html pages| |
logfiles |
| and other web | |
(not viewable |
| related stuff | |
via the web) |
|________________| |_______________|
Your current directory path is (path)
Enter the path to the directory you would like to use for the
log files.
If the directory you enter does not exist, the installer will
try to create it.
Press [ENTER] to use the current directory.
[W] read this...
Using the example in question 6, if all of my web pages were under
the /user/myname/htdocs directory, I might choose to enter:
/user/myname/webdata_logs into the installer at this time.
The installer will create a directory named webdata_logs at that location
if I (the person that executed the program) have permission to do so.
The advantage to this configuration is the webdata program will be able
to read and write to the log files, but the log files will not be accessable
via the web directly.
If you do not have telnet access, obviously the installer
cannot create this directory for you. Create the directory using
your FTP program, then enter the absolute path (begins with a slash or
a drive letter) into the box on the FTP installation web page.
If you are uncertain about the paths on your server, you can launch Webteacher's probe. Simply open "probe.pl" in any text editor, set the path to Perl on 1 line to the correct value, upload probe.pl to the cgi-bin (be sure you are in ascii mode), and chmod 755 probe.pl so that it has permission to execute. Then, point your browser to /cgi-bin/probe.pl and it will tell you everything about your server and the path to your site.
You will not need to edit the webdata_[dbname].pl script unless you
have difficulty with the automatic installer. In that case, the following
diagram shows a sample installation.
To Customize the User Search page
The page you will link users to is called [database name]_form.html.
It will automatically query the Webdata CGI to read your list of fieldnames,
and generate a search form "on-the-fly." The advantage to this method
is that if you should change your list of fields, the user search form
will automatically reflect those changes. The disadvantage is that
it creates a rather plain beige screen, without your site's text and graphics.
You can save this page and modify it to match the look and feel of your
site.
To customize Search Results
Go to the [dbname]_admin.html page, enter your password. When the administration
page loads, click on 'Customize Pages'. Here you can change the color,
add header HTML code, select which fields to display in what column sequence,
choose a sort order, number of results per page, and whether to display
the "view" button and what it should be labeled.
With version 2.28, Webteacher's Webdata is 100% customizable to match
the look and feel of your site. See "Using Templates"
further down.
When you have made your selection, click 'Modify Report' and wait for
the page to reload. Then follow the link to the user's search page to see
your modifications.
The "view" button is a good tool for databases that have a lot of fields. If you cannot display all of the information in a single row of the results table, simply choose only the 3 or 4 most descriptive fields in the "column-sequence" box. Then, check the "view button" checkbox. When a user searches your database, he/she will see a concise list of search results, each with a "view" button. Clicking on the "view" button will display all the information about that record.
When you have defined your upload field, you will notice that any screen
that is used for adding records now has a "browse" button next to that
field.
Simply click the browse button and select your file, and it will be
uploaded when you add the record. Then, when the user searches the
database, if the file is an image, the image will be displayed. If
the file is of any other type, the file's name will appear as a link to
view the file. How the file is viewed is up to the user's browser
settings for that file extension.
How it works:
The files are stored in the 'uploads' directory using the following
naming structure: [recordID]_[fieldname]_[filename].[ext].
The URL to the file is stored in the field. This can be clearly
seen when searching as admin, and the URL can be manually adjusted
in the maintenance screen if necessary.
During searching, if the URL ends with .gif or .jpg, the program will
simply display the image. If the URL ends with anything else, and
the field is defined as an upload field, the program will display only
the last part ([filename].[ext]) as a link to the entire URL.
Members can go to the [dbname]_members.html page to gain access to their records.
NOTE: Both the administration pages and the member pages use cookies to avoid prompting for a password more than once. The cookies will expire each time you exit your browser. If you are logged in as an administrator, and you wish to test the member pages, you will need to log in from the [dbname]_members.html page to see the effects. Members that share a terminal should be warned to exit the browser when they are finished.
If you check "allow instant members" in the admin preferences, first time users can come to the [dbname]_instantmember.html page, choose a username and password, and then begin adding items to the database. They may return to the [dbname]_members.html page later and log in to add, modify, or delete their own listings, but they cannot effect anyone else's information.
The search results are displayed inside an HTML table. All HTML commands will work inside the table with the exception of SSI . You can display a word in bold by simply typing <B>my text</B>.
Now in version 2.25, a field that contains only a URL will automatically
be converted to an <A HREF> link when the user search is displayed.
A field that contains only an e-mail address will will be converted
to a mailto: link.
A field that contains only a string of text ending with .gif or .jpg
will automatically be converted to an <IMG> tag.
To add a picture, you may use either an absolute URL (begins with http://) or a filepath relative to the cgi script. So, for example, if my website looked like this:
myaccount (at http://www.myaccount.com)
/ \
htdocs cgi-bin
/ \
|
images webdata
webdata_[dbname].cgi
|
duck.gif
swan.gif
goose.gif
I could enter the image either of these 2 ways.
http://www.myaccount.com/images/duck.gif
or
../htdocs/images/duck.gif
NOTE: You may still enter an <IMG> tag manually if you would like
to add special parameters such as "width=72" or "border=2".
Creating a template for the list of search results:
If you don't like the table format which is Webdata's default, you
can design your own layout for each found record. Let's say that
the user searches for Ford Explorer, and we have 3 of them. I want
the user to see a pattern that I design, like this:
Make: Ford | Model: Explorer | Year: 1997 |
Extras: PL PW PS ABS CRUISE TILT CD | Price: $17285 | |
Make: Ford | Model: Explorer | Year: 1995 |
Extras: | Price: $12000 | |
Make: Ford | Model: Explorer | Year: 1999 |
Extras: FULLY LOADED | Price: $24992 | |
I want to see three of these data blocks, because 3 cars came up when
we searched for Ford Explorer. Here's what I would do:
1. Use any HTML editor or word processor to make a page that looks
just the way I want using sample data.
2. Go through the HTML code I just created with a word processor, and
make the following substitutions:
I locate the word "Ford" or whatever the first piece of text is that will be replaced by data from the database.3. Repeat the procedure if you would like to use your own template when the user clicks the 'view' button instead of the default columnar form. Simply design your form with sample data, substitute the sample data with $data[#] using the conversion chart, then paste the text into the "form template" box.
I look on the conversion chart above the 'search template' box, you will see the word $data[#] next to every field in our database, with a
different number in each one. If 'MAKE" is the first field, the substitution code for it will be $data[0]. Simply take out the word "Ford" or whatever
we used for sample data, and insert the text: $data[0] . That's all there is to it. In our example, wherever the template sees the word $data[0] it will insert the Make of the vehicle it is displaying. Likewise, if Price is the fifth field, I would look it up on the conversion chart and see that it corresponds to "$data[4]". Therefore,
wherever I type $data[4] in the template, the price of the current vehicle will be displayed.Finally, there is the view button. First, you will see a box on the 'customize pages' screen where I may enter the label of the 'view' button. I would type 'Click here for details' into that box. Then, where I want the button (and the form tags around it) to go, I would enter the word $viewbutton. The template will automatically replace the word $viewbutton with the tags: <FORM><INPUT TYPE=BUTTON VALUE="(what you chose)" onClick="(script to get the form)"></FORM>.
In our example, the text I paste into the search template box on the 'customize pages' screen might look like this:
<TABLE BGCOLOR="lightblue">
<TR>
<TD><B>Make:</B> $data[0] </TD>
<TD><B>Model:</B> $data[1] </TD>
<TD BGCOLOR="beige"><B>Year: </B> $data[2]</TD>
</TR>
<TR>
<TD BGCOLOR="beige" COLSPAN=2><B>Extras:</B> $data[3] </TD>
<TD><B>Price:</B> $$data[4] <./TD>
</TR>
<TR>
<TD BGCOLOR="pink" COLSPAN=3 ALIGN="center"> $viewbutton </TD>
</TR>
</TABLE>
Other variables:
Type the word $viewbutton to place the view button in the search
results. Type $id to include the record ID number. Type $datecreated
to include the date the record was added to the database. Type $membername
to display the record's owner. If you are creating a link to another cgi
script, use $escape[#] instead of $data[#]. This will automatically
convert "three, at $2.25/each" into "three%2C%20at%20%242.25%2Feach",
which is the format cgi scripts expect in the URL. If you use the shopping
cart, type $addbutton where the "Add to cart" button should go.
Conditional Display: The following syntax:
$if ($data[#]) {my text}
will only display "my text" if there is a value in the $data[#] field.
If $data[#] is empty, nothing will be displayed.
It then assigns the user customized variables located in lines 7-15. This tells the program the correct location of the datafiles, the password, the name of the cgi program, and where to send the homepage links, where to send the "search again" link for users, and how many results to display to users.
The program then executes one of the 18 subroutines, depending on the
value of "cgifunction".
http://www.dynamicnet.net/support/fp/perlwithPWS.htm
Thanks to Dynamic Net for providing these instructions.
Instructions for beta testing the ODBC routine
The ODBC routine is commented out because we could not identify the
cause of some connection failures during testing. If you would like
to
try it, you are welcome to, but please do not complain to us if it
doesn't work. You must have the Win32::ODBC module to use this routine.
LOCATE the following lines and remove the # from the beginning of each
line (except the first and last):
#*********** BEGIN ODBC ********************
#print "
#<P><HR><P>
#<B>Use an ODBC Database instead of Webdata's datafile.</B>
#<INPUT TYPE=CHECKBOX NAME=\"usesql\"";
#print " CHECKED" if $usesql==1;
#print "><BR>
#<I>You must have the Win32::ODBC module to use this option.</I><BR>
#<B>DSN Name</B> <INPUT TYPE=TEXT SIZE=20 NAME=\"dsn\" VALUE=\"$dsn\"><BR>
#<B>Table Name</B> <INPUT TYPE=TEXT SIZE=20 NAME=\"tablename\"
VALUE=\"$tablename\"><BR>
#<B>Primary Key</B> <SELECT NAME=\"primarykey\">\n";
#$count=0;
#foreach (@fields) {
# print "<OPTION VALUE=\"$count\"";
# print " SELECTED" if $count eq $primarykey;
# $count++;
# print ">$_";
#}
#print "\n</SELECT>
#";
#************ END ODBC **********************
Then, you should be able to define a DSN in your ODBC control panel,
and enter the DSN name and table name in the appropriate boxes on the 'customize
pages' screen. Modify your Webdata fields to match the fields in
your ODBC table exactly. Case counts.
You should install all of your databases such that the webdata_[dbname].pl
scripts are in the same directory. On most servers they would all
go in the cgi-bin anyway.
Register the first database you install, once you are satisfied that
Webteacher's Webdata will meet your needs. Then, in each additional
database, LOG IN TO THE NEW, UNREGISTERED DATABASE, click on
"Customize Pages", and scroll down to the bottom of the page.
Enter the full filename of the "webdata_[dbname].pl" file which has already
been registered, and the new database will become registered as well.
If it still doesn't work, you may be using a system which uses the
MD5 encryption algorythm, which is not compatible with the Unix
crypt() function that Webdata's registration code uses.
HOW TO TELL
1. Log in as admin and create at least one member.
2. Turn on "warn me before accepting a cookie" in your browser's preferences.
3. Log in as a member from the [dbname]_members.html page.
The cookie will have this format:
admin=[username]::[encrypt password]
If the encrypt password is roughly 13 characters and begins with
a "7", for example: "77IhY3bdfNq9g", this section does not describe
your problem, and you should
triple check the registration code and then contact sales@webteacher.com.
If the encrypt password is MUCH longer, and begins with a dollar sign,
for example "$1$KV@_YyJO$6aio6.dXILWoXYEltbDGa0", then your operating
system is using the MD5 encryption algorythm. The fix is
to upload the UnixCrypt.pm Perl module to the cgi-bin, or wherever
the webdata_[database name].pl file lives. The module has been included
in the zip file.
UnixCrypt.pm
Then, insert these lines on line 2 of the webdata_[dbname].pl script.
# always use this module's crypt
BEGIN { $UnixCrypt::OVERRIDE_BUILTIN = 1 }
use UnixCrypt;
2. Use chmod 666 to make sure the script has permission to write to that file.
2. Log in as admin, click "customize pages" and scroll down to the box labeled "Keep a log of user searches".
3. Enter searches.log
into the box, and click "modify pages".
The HTML code on your homepage would look like this (replace "jobs" with your database name):
<B>Search our database of <!--#exec cgi="/cgi-bin/webdata_jobs.pl?cgifunction=recordcount"--> job listings!</B>
Of course your homepage has to have SSI enabled, sometimes the page
has to have a .shtml extension. Check with your system administrator.
Imported records will be owned by: This list contains the word
"admin" followed by every member in the database. Members can only
modify or
delete records which they own. Therefore, if you need Bob Smith
to be able to modify the records you are about to import, choose "Bob Smith"
from
the list of members (or go to the admin page, click members, create
a membership for Bob Smith, and then return to the import page).
Overwrite existing data with imported records:
If the head office sends you a complete database every week, you can
check this box to delete all of the old records just as you import the
new records.
If this box is unchecked, the imported records will be APPENDED to
the existing data, and the old records will remain in place.
Replace fields with values contained in first line:
This is a nice timesaver if you wish create a new database using a
delimited text file. When this box is checked, Webdata will
create a field (text box, 20 characters) for every item in the first
row of the delimited text file. If a fieldname already exists,
already exists, it will be sequenced according to the delimited text
file, and its attributes (text box, checkbox, comment, list, upload) will
be preserved. Any other fields in Webdata will be removed.
It is recommended that this feature only be used with "overwrite existing
data" unless you are very sure of what you are doing. Old records
could become mislabeled after the field list is resequenced by this
feature.
Create members and passwords:
Occassionally you may wish to put an existing list of users online
quickly. In that case, you need to determine a column number in your
delimited text file which will contain the username, and a column number
which will contain the password. Then, enter the column numbers
for each in the boxes contained in this section, and webdata will create
a membership for each person as it imports. Each record will be
"owned" by the specified username.
For example, let's say I had the following data in Excel or Lotus123:
A | B | C | |
---|---|---|---|
1 | Bob Schmidt | bob@domain.com | 555-4332 |
2 | Chris Darson | cd@domain.com | 555-9887 |
3 | Brenda Clark | bclark@domain.com | 555-3599 |
I want to use the e-mail address as the username, but
I need a password for everyone. So I make up a clever algorythm, such
as
"second letter of last name followed by 'rpz' followed by twice the
last 3 digits of the phone number"
Using the text functions and fill handle, I soon have a password in
column D like this:
A | B | C | D | |
---|---|---|---|---|
1 | Bob Schmidt | bob@domain.com | 555-4332 | crpz664 |
2 | Chris Darson | cd@domain.com | 555-9887 | arpz1774 |
3 | Brenda Clark | bclark@domain.com | 555-3599 | lrpz1198 |
Now, I can save this file as a tab delimited text file and import it
into Webdata.
I would enter a "2" into the "username column" box, and a "4" into
the "password column" box.
Now I can issue a memo to Bob Schmidt as follows:
"An account has been created for you on our new online database.
Your username is: bob@domain.com
Your password is: crpz664
You may go to [URL of members page] to review or modify your contact
information."